package Acao;

import ClassesBases.Conta;
import Controladores.CadastroClientes;
import Controladores.CadastroContas;
import Interfaces.InterfaceRepositorioCliente;
import Interfaces.InterfaceRepositorioConta;
import Repositorios.RepositorioClientesArrayList;
import Repositorios.RepositorioContasArray;
import Repositorios.RepositorioContasArrayList;

public class Fachada {
	private static Fachada instancia;
	private CadastroContas controladorContasArray;
	private CadastroClientes controladorClientesArray;

	public static Fachada obterInstancia() {
		if (instancia == null) {
			instancia = new Fachada();
		}
		return instancia;
	}

	private Fachada() {
		initCadastros();
	}

	private void initCadastros() {
		InterfaceRepositorioConta repContasArray = new RepositorioContasArrayList();
		controladorContasArray = new CadastroContas(repContasArray);
	
		InterfaceRepositorioCliente repClientesArray = new RepositorioClientesArrayList();
		controladorClientesArray = new CadastroClientes(repClientesArray);
		
	}
	
	public void debitar(String numero, double valor){
		controladorContasArray.debitar(numero, valor);
	}
	
	public void creditar(String numero, double valor) {
		controladorContasArray.creditar(numero, valor);
	}
	
	public void verSaldo(String numero){
		controladorContasArray.verSaldo(numero);
	}
	
}
